/**
 * 绘制球体功能类demo案例
 */

import * as EasyCesium from "@xhymf1992/easy-cesium";

export function functionDrawSphere() {

    // // 绘制球体参数
    // let options = {
    //     sphereName: "draw-sphere", // 绘制的球体名称，可选，默认为空
    //     sphereColor: "rgba(255,0,255,0.5)", // 绘制的球体的颜色，可选，默认为rgba(0,0,255,0.5)
        
    //     pointColor: "rgba(0,255,255,1)", // 绘制球体时的点的颜色，可选，默认为rgba(0,255,0,1)
    //     pointSize: 5, // 绘制球体时的点的大小，可选，默认为10

    //     radiusShow: true, // 是否显示半径，可选，默认为false
    //     radiusUnit: "meter", // 半径单位：meter: 米; kilometer: 千米，可选，默认为meter
    //     radiusPrecision: 4, // 半径保留小数位数，可选，默认为2
    //     radiusTextScale: 1.2, // 半径文本缩放大小，可选，默认为1
    //     radiusTextColor: "rgba(255,0,0,1)", // 半径文本的颜色，可选，默认为白色
    //     radiusTextDisableDepthTestDistance: 1000, // 半径本文深度检测最小距离(m)，视角离文本的距离小于此值时关闭深度检测，可防止遮挡，可选，默认为1e6

    //     viewer: window.viewer // cesium视图对象，必填
    // };

    // 绘制上半球参数
    let options = {
        sphereName: "draw-sphere", // 绘制的球体名称，可选，默认为空
        sphereColor: "rgba(255,0,255,0.5)", // 绘制的球体的颜色，可选，默认为rgba(0,0,255,0.5)
        sphereMaximumCone: Math.PI / 2, // 球体可见的最大纬度值（弧度制），值范围0-PI，顶部为0，赤道为PI/2，底部为PI，可选，默认为PI
        
        pointColor: "rgba(0,255,255,1)", // 绘制球体时的点的颜色，可选，默认为rgba(0,255,0,1)
        pointSize: 5, // 绘制球体时的点的大小，可选，默认为10

        radiusShow: true, // 是否显示半径，可选，默认为false
        radiusUnit: "meter", // 半径单位：meter: 米; kilometer: 千米，可选，默认为meter
        radiusPrecision: 4, // 半径保留小数位数，可选，默认为2
        radiusTextScale: 1.2, // 半径文本缩放大小，可选，默认为1
        radiusTextColor: "rgba(255,0,0,1)", // 半径文本的颜色，可选，默认为白色
        radiusTextDisableDepthTestDistance: 1000, // 半径本文深度检测最小距离(m)，视角离文本的距离小于此值时关闭深度检测，可防止遮挡，可选，默认为1e6

        viewer: window.viewer // cesium视图对象，必填
    };

    /**
     * 操做说明：
     * 单击左键：第一次点击为创建球心点（确定球体心），第二次点击为创建球面上的点（确定半径）
     * 移动鼠标：球心确定，球面上的点未确定时，实时绘制鼠标所在点与球心构成的球体，其他情况无响应
     * ctrl+z：取消新创建的点
     */
    // @ts-ignore
    window.func = new EasyCesium.FunctionDrawSphere(options);
    // @ts-ignore
    window.func.init();

    // // 获取地心坐标系的球心坐标
    // console.log(window.func.getSphereCenterPosition());

    // // 获取经纬度格式的球心坐标
    // console.log(window.func.getSphereCenterPositionCarto());

    // // 获取半径
    // console.log(window.func.getSphereRadius());

    // // 销毁func
    // window.func.destroy();
    // window.func = undefined;

}